#ifndef _GPIO_HAL_H_
#define _GPIO_HAL_H_

#include <stdint.h>

typedef enum
{
	GPIO_MODE_OUT_GP_PP    = 1,
	GPIO_MODE_OUT_GP_OD    = 2,
	GPIO_MODE_OUT_AF_PP    = 3,
	GPIO_MODE_OUT_AF_OD    = 4,
	GPIO_MODE_IN_ANALOG    = 5,
	GPIO_MODE_IN_FLOATING  = 6,
	GPIO_MODE_IN_PULL_UP   = 7,
	GPIO_MODE_IN_PULL_DOWN = 8
} gpio_mode_type;

typedef struct {
    uint8_t        gpio_port;
    uint8_t        gpio_pin;
    gpio_mode_type gpio_mode;
} gpio_config_st;

#endif

